Enterprise resource planning (ERP) systems are often touted as attempts to provide a single solution for integrating business processes across an organization, or even across an entire supply chain, tying inventory control systems, manufacturing resource planning, sales and order management, marketing, purchasing, warehouse management, financial and managerial account, and human resource management so that all business processes are at the fingertips of corporate executives. In effect, ERP is an attempt to reduce all aspects of a business to a model that can then be tested, simulated, modified, refined, and examined so that a corporate manager can increase the efficiency of the entire business.
The use of ERP systems has increased business efficiency, especially for large, complex manufacturing operations. By providing the ability to simulate various scenarios, ERP systems assist managers to more effectively handle business process problems such as shortages, labor problems, quality control problems, etc. In short, by reducing business processes to a model of resources and constraints, ERP systems provide a tool for viewing the current state of an operation and a test bed for considering modifications to business processes.
Conventional ERP systems operate by treating business process modeling and simulation as a scheduling problem. A business is modeled as a set of processes, a collection of resources and a set of constraints whereby a company must determine how best to use its limited resources to achieve the largest benefit attainable. By solving the scheduling problem, conventional ERP systems attempt to provide a filly-ordered plan that optimally solves the problem presented to it.
Scheduling is a subproblem of the more general problem of planning. To characterize this, the following definitions are broadly accepted:
Scheduling subproblem: given a set of activities a1 . . . an, with precedent relationships aj>ak, and a set of resources r1 . . . rm needed to perform the activities, what is the best allocation and ordering of the activities and resources. Best is normally expressed as the optimal value of some expression J(ri) that is related to the cost of the resources used and the benefits obtained.
Planning subproblem: given one or more objectives, what is the best set of activities a1 . . . an and what are the precedence relationships aj>ak that exist between them to accomplish the desired objectives.
Clearly, these definitions imply that the scheduling subproblem cannot be approached until after the planning subproblem has been solved. In addition, each of these subproblems, when formulated for real-world cases other than relatively trivial textbook examples, are easily within the class of problems known in computing theory as NP-Complete.
Current approaches to ERP and SCM typically assume a static set of activities as the business model. In pursuing a resource allocation, these ERP and SCM optimization processes can change attributes of activities, such as start and end times and allocation of resources to activities, but conventional ERP and SCM systems do not seek to change the set of activities themselves. This static set of activities defines a static business model.
Unfortunately, a static ERP business model cannot be completely accurate and cannot account for all contingencies. In actuality, there are many potential variations in the business models of companies. As goals change, the business processes themselves may need to be fundamentally changed. Often, the optimal schedule is not the best plan to handle the uncertainties of the real world because it is not the most robust. In the real world, requirements and resources are not static. The operation of a business is a dynamic process and it is desirable to provide a system for dynamic business process management that can better handle the inevitable changes that confront a corporate manager every day. It is desirable to provide a system for dynamic modification of business process models that permits dynamic changes in the planned set of activities as well as the schedule and resource allocations.
The value of planning is solely in its ability to improve the execution of a complex undertaking. The improvements may take the form of more effective resource allocation or more effective coordination between parties or more certain outcomes. The creation of plans that do not improve execution is itself a poor use of resources.
Determining an optimal plan in the face of uncertainty is often a waste of resources because the available resources and constraints in real-world problems change over time, sometimes faster than a new optimal plan can be recalculated. Before an optimal plan is completely carried out, a change will often force reconsideration and recalculation. Because solving the optimal scheduling subproblem is typically very computationally expensive, changes may occur in the pre-conditions before the result can even be calculated. Optimal schedulers do not have a mechanism for graded levels of commitment to activities and their parameters. When a change occurs, the entire schedule must be re-computed. As a result, a small change in input values to the optimal scheduler can produce a large change in the resulting schedule. Activities that were once possible to schedule may now become unscheduled. Conventional ERP systems attempt to create so-called “optimal” or fully ordered plans often requiring repeated reconsideration and recalculation.
An alternative view to optimal planning emphasizes adaptation. Modern control theory is based on adaptation. For example, the driver of a car does not plan about steering the car to stay on the roadway. Instead, steering behavior is continuously adapted to meet the needs of the situation. However, pure adaptation is not fully effective either—unless the driver has a plan in the form of an intended route to his destination, he may well become lost.
Partial order, least commitment planning is a method that blends planning and adaptation to produce robust behaviors. Activities are only partially planned, leaving many details to be determined by adaptation during the actual execution. However, the extent of planning is sufficient to ensure that the resulting behavior is feasible and can nominally be performed. Partial-order, least commitment planning allows an extended business enterprise to adapt flexibly to the changes in day to day operations while still achieving coordination and feasibility. It is desirable to provide a dynamic business process management system that calculates partial-order, least commitment plans for operating a business enterprise.
Partial order, least commitment planners also provide for graded levels of commitment to a set of activities. This allows the planner to maintain multiple alternative means to achieve multiple simultaneous goals, and increase or decrease its level of commitment to each of the alternatives as the situation unfolds. In this way, the choice of alternative to execute can be deferred until it is clear which alternative is superior. A partial order least commitment planner is also able to select multiple alternatives for execution as a means for hedging against uncertainty in outcomes.
Additionally, as business processes become more complex and as models become more detailed, the optimal planning mechanisms of conventional ERP systems takes longer and longer to complete. Many algorithms for schedule optimization have execution times of Order (n-cubed) or greater. Some optimal scheduling problems are known to be members of the very difficult and expensive class of problems known as NP-complete. It is therefore desirable to provide a planning mechanism that is faster than conventional optimal, fully-ordered planners Corporate managers desire fast, perhaps even real-time feedback and adaptation to cope with dynamic business situations.
Several related patents have been issued by the United States Patent and Trademark Office. For example, U.S. Pat. No. 5,299,287 issued to Tsuruta et al. (the '287 patent) discloses a method of knowledge management for dividing a goal into lower level subgoals. Additionally, the '287 patent discloses a system for cooperative goal and plan sharing between actors in the system. There is a need for a system that incorporates goal decomposition and cooperative planning in a business process management system. There is also a need for a system that performs partial order planning to better handle real-time, dynamic business process systems.